This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. xc2xa7xc2xa7119 and 120 from an application for Method for Operating Network Management System in the Graphic User Interface Environment and Network Management System earlier filed in the Korean Industrial Property Office on Jun. 30, 1998 and there duly assigned Ser. No. 1998-25471.
The present invention relates to a network management system (NMS) and a method for operating the NMS in a graphic user interface (GUI) environment. More particularly, the invention relates to a method for operating a communication procedure requiring especially long-time interaction on a GUI program necessary for a communication procedure for interacting with other systems.
As described more detailed below, various methods for implementation of communication procedures are known. One problem experienced by such methods is known as the xe2x80x9chang-overxe2x80x9d problem wherein GUI interfaces cannot receive any input for a period of time during which the communication procedure is actually being performed. Certain methods strived to overcome this disadvantage. However, in overcoming this xe2x80x9chang-overxe2x80x9d problem, other problems occur. For example, as a result of solving the xe2x80x9chang-overxe2x80x9d problem, it is often necessary to sustain management of the communication process and to check for active status of the process. Additionally, the management of the process becomes difficult when the number of processors becomes large, such as in the case where such a method is applied to an enormous NMS system. Another problem resides in the fact that it is not easy to execute more than one instance, among various instances, of an NMS program because a predetermined message queue type is used to exchange information between the NMS GUI unit and the NMS communication unit.
The following patents are considered to be representative of the prior art relative to the invention, but are burdened by the disadvantages set forth above:
U.S. Pat. No. 5,295,244 for Network Management System Using Interconnected Hierarchies to Represent Different Network Dimensions in Multiple Display Views issued to Dev et al.; U.S. Pat. No. 5,375,199 for System Monitoring Method and Device Including a Graphical User Interface to View and Manipulate System Information issued to Harrow et al.; U.S. Pat. No. 5,436,909 for Network Management System Using Status Suppression to Isolate Network Faults issued to Devetal.; U.S. Pat. No. 5,504,921 for Network Management System Using Model-based Intelligence issued to Dev et al.; U.S. Pat. No. 5,606,664 for Apparatus And Method For Automatically Determining The Topology of a Local Area Network issued to Brown et al.; U.S. Pat. No. 5,726,979 for Network Management System issued to Henderson et al.; U.S. Pat. No. 5,742,762 for Network Management Gateway issued to Scholl et al.; U.S. Pat. No. 5,751,933 for System for Determining the Status of an Entity in a Computer Network issued to Dev et al.; U.S. Pat. No. 5,751,965 for Network Connection Status Monitor and Display issued to Mayo et al.; U.S. Pat. No. 5,761,429 for Network Controller for Monitoring the Status of a Network issued to Thompson; U.S. Pat. No. 5,761,432 for Method and Apparatus for Providing an Efficient Use of Telecommunication Network Resources issued to Bergholm et al.; U.S. Pat. No. 5,768,552 for Graphical Representation of Computer Network Topology and Activity issued to Jacoby; U.S. Pat. No. 5,778,377 for Table Driven Graphical User Interface issued to Marlin et al.; U.S. Pat. No. 5,812,750 for Method and Apparatus for Monitoring the Status of Non-Pollable Devices in a Computer Network issued to Dev et al.; U.S. Pat. No. 5,859,978 for Managing Application Programs in a Computer Network by Using a Database of Application Objects issued to Sonderegger et al.; U.S. Pat. No. 5,870,558 for Intranet Graphical User Interface for Sonet Network Management issued to Branton, Jr. et al.; U.S. Pat. No. 5,887,139 for Configurable Graphical User Interface Useful in Managing Devices Connected to a Network issued to Madison, Jr. et al.; and U.S. Pat. No. 5,889,954 for Network Manager Providing Advanced Interconnection Capability issued to Gessel et al.
The present invention is intended to provide a network management system (NMS) and a method for operating the NMS in a graphic user interface (GUI) programming environment.
The present invention has the following advantages:
First, it makes it possible to prevent all GUI interfaces from experiencing the hang-over status during execution of a communication procedure.
Second, it can solve the problems of waste of memory and overhead in the management of the communication process.
Third, it can display the status of progress or communication steps in the NMS GUI unit in real time by using the message queue of the UNIX IPC as an information channel between the NMS GUI unit and NMS communication unit.
Fourth, many instances of the NMS program can exist in such a way as to operate the NMS communication unit with the UNIX system call, fork( ), by means of the NMS GUI unit only at a time when operation of the NMS communication unit is required and additionally allocating the PID of the NMS communication unit to an m-type of message queue used for the information channel between the NMS GUI unit and the NMS communication unit.
A preferable embodiment of the NMS in a GUI environment, wherein communication units perform a communication procedure requiring long-time interaction according to the present invention, includes:
(a) an NMS GUI unit displaying the status or progress of the communication procedure in real-time; and
(b) an NMS communication unit activated by the NMS GUI unit only if necessary, the NMS communication unit using a message queue of a UNIX IPC as an information channel so as to exchange information with the NMS GUI unit.
According to the NMS of the present invention, the PID of the NMS communication unit (child process) is allocated to an m-type message queue to execute a plurality of NMS program instances.
A preferable embodiment of the method according to the present invention includes the steps of:
(a) receiving a command input from a user by the NMS GUI unit;
(b) confirming whether the input is a communication command;
(c) when a communication command is confirmed, displaying the communication status or progress for the NMS GUI unit and branching to a child process for an NMS communication unit and to a parent process for an NMS GUI unit;
(d) determining the value of the child process""s ID (PID) by means of the branched parent process;
(e) generating a message queue for which the determined PID corresponds to an m-type queue, and sending a communication start command to the child process by means of the parent process;
(f) returning to the NMS GUI unit to display the status of waiting for the user""s input (the xe2x80x9cReadyxe2x80x9d state) and to display communication status for the parent process after sending the communication start command,;
(g) determining its own PID value by means of the branched child process;
(h) generating a message queue for which the determined PID corresponds to an m-type queue by means of the child process;
(i) receiving a communication start command from the parent process by means of the child process using the generated message queue;
(j) starting to communicate with the target system for management by means of the child process upon receipt of the communication start command; and
(k) informing the parent process of the result through the message queue by means of the child process, and then terminating the child process when the communication with the target system for management has been completed.
According to the method of the present invention, the method further includes the steps of:
(a) sending status information to the parent process through the message queue when the child process performs communication with the corresponding target system for management; and
(b) displaying the status or communication progress with the target system for communication by means of the parent process in real-time based on the sent status information.
According to the method of the present invention, the parent process displays, on a screen through the message queue in real-time, that the steps of communication have been completed, and then returns to a step of waiting for user""s input as to the communication order (the xe2x80x9cReadyxe2x80x9d state).
According to the method of the present invention, the step of branching to a child process for an NMS communication unit and a parent process for an NMS GUI unit uses fork( ), one of the UNIX system calls.
According to the method of the present invention, the step of determining the value of the child process""s ID (PID) by the branched parent process determines the value of child process""s ID (PID) as a return value of calling the fork( ).
According to the method of the present invention, the step of determining its own PID value by means of the branched child process makes that determination using getid(), another one of the UNIX system calls.
According to the method of the present invention, the child process performs the process of the NMS communication unit using execl ( ), another one of the UNIX system calls.
According to the method of the present invention, the status information as to communication progress includes: an order to start downloading from the NMS GUI process to the NMS communication process; information reporting that the downloading from the NMS GUI process to the NMS communication process has started and reporting the total size of the download data and the size of data sent up to the present time; an order to stop the downloading from the NMS GUI process to the NMS communication process; a message to terminate containing information as to the reason for failure when the downloading from the NMS GUI process to the NMS communication process has failed; and a message to terminate containing the result information when the downloading from the NMS GUI process to the NMS communication process has succeeded.